package cn.com.jonpad.demowebflux.ctrl;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import reactor.core.publisher.Mono;

/**
 * @author Jon Chan
 * @date 2019/1/18 10:08
 */
@RestController
public class BasicController {
    /**
     * 使用 WebFlux 与 Spring MVC 的不同在于，WebFlux 所使用的类型是与反应式编程相关的 Flux 和 Mono 等，而不是简单的对象。
     * 对于简单的 Hello World 示例来说，这两者之间并没有什么太大的差别。
     * 对于复杂的应用来说，反应式编程和负压的优势会体现出来，可以带来整体的性能的提升。
     * @return
     */
    @GetMapping("hello_world")
    public Mono<String> sayHelloWorld() {
        return Mono.just("Hello World");
    }
}
